
//// #include "file_util.h"


#ifndef file_util_h
#define file_util_h

#include "gw_ktj_api_config.h"
#include <stdio.h>
#include <dirent.h>
//#include "mk_util.h"

typedef struct dirent dirent_t;

int is_null_line(char head);
int get_file_line_number(FILE *fp, char *dat_buf, int len);



int copy_file(const char *dst_name, const char *src_name);

size_t read_file_len(const char *file_name);
int get_total_file(const char *path);
int delete_file(const char *filename);
int delete_dir(const char *path);
int get_my_path(char *path, int size);
int read_total_file(FILE *fp, void *pdst, int dst_size);

/******************************************************
function : read_file_all_data()  读整个文件数据, 只适合小文件
param ：file_name
        *pout_len: 文件数据字节数
return:  *buf :  文件数据指针      ，  返回数据指针， 使用方用完后释放
         当文件太大， 分配不了空间，返回空指针， 但是*pout_len仍然是文件长度
*************************************************/
unsigned char  *read_file_all_data(const char *file_name, INOUT size_t *pout_len);

int write_new_file_data(const char *filename, const unsigned char *pdat, int dat_len);
int create_mult_dir( char *sPathName ) ; 

/***
./boss/
./bill/
./log/8376161000000001
./log/SDN1000000000001
****/
void init_work_dir(void);
int create_pile_dir(const char *pile_id);


//int exec_file(const char *file_cmd, char *buf, int len);

//int exec_file_find_str(const char *file_cmd, const char *str_find, int seg, char *buf, int len);


/***********************************************
截取出文件扩展名： 首个'.'后面的所有字符。
*************************************************/
const char *get_file_name_ext(const char *filename);






#endif

